JavaScript数组去重方式 —— 十大汇编
/*
http://baijiahao.baidu.com/s?id=1597886820807608521&wfr=spider&for=pc
*/

Methods 1:
思路：先定义一个“新数组”，并存放“源数组”（待去重的数组，以下简称源数组）的第一个元素，然后将源数组和新数组的元素一一对比，若不同则存放在新数组中。



Methods 2:
思路：先将源数组排序，在与相邻的进行比较，如果不同则存入新数组。



Methods 3:
思路：利用对象属性存在的特性，如果没有该属性则存入新数组。



Methods 4:
思路：利用数组的indexOf下标属性来查询。



Methods 5:
思路：利用数组原型对象上的includes方法。



Methods 6:
思路：利用数组原型对象上的 filter 和 includes方法。



Methods 7:
思路：利用数组原型对象上的 forEach 和 includes方法。



Methods 8:
思路：利用数组原型对象上的 splice 方法。



Methods 9:
思路：利用数组原型对象上的 lastIndexOf 方法。



Methods 10:
思路：利用 ES6的set 方法。



进阶篇：画龙点睛，一行代码搞定
Methods 10_1:
思路：利用ES6拓展运算符(...)内部使用for...of循环，以及Set成员值都是唯一的特性



Methods 10_2:
思路：利用数组原型对象上的 filter函数以及ES6的Map对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。
